\name{OpenDatasource}
\alias{OpenDatasource}
%- Also NEED an '\alias' for EACH other topic documented here.
\title{
Open an existing SuperMap data source
}
\encoding{UTF-8}
\description{
  根据指定的连接信息打开已经存在的数据源。指定数据源不存在时返回 NULL。
  在打开数据源的时候需要注意的是，要明确数据源对应的数据引擎，才能正确的打开数据源。
  1. 当用户想打开某一个文件型数据源（UDB）时，必须要有对应的空间数据库引擎（SDX+ for UDB）； 
  2. 当打开 Oracle 数据源时，那么用户必须安装 Oracle 客户端，建立数据库连接还要有对应的空间数据库引擎（SDX+ for Oracle）； 
  3. 当用户打开 SQL Server 类型的数据源时，必须要有对应的空间数据库引擎（SDX+ for SQL）；
}
\usage{
OpenDatasource(server, alias = "", engine = "udb", 
  database = "", driver = "", user = "", password = "")
}
%- maybe also 'usage' for other objects documented here.
\arguments{
  \item{server}{
数据库服务器名、文件名或服务地址。
1. 对于 UDB 文件，为其文件的绝对路径。注意：当绝对路径的长度超过 UTF-8 编码格式的260字节长度，该数据源无法打开。 
2. 对于 Oracle 数据库，其服务器名为其 TNS 服务名称； 
3. 对于 SQL Server 数据库，其服务器名为其系统的 DSN（Database Source Name）名称； 
}
  \item{alias}{
数据源别名。
}
  \item{engine}{
数据源连接的引擎类型。支持“udb”、“SqlServerPlus”、“OraclePlus”。
}
  \item{database}{
数据源连接的数据库名。
}
  \item{driver}{
数据源连接所需的驱动名称。
}
  \item{user}{
登录数据库的用户名。
}
  \item{password}{
登录数据源连接的数据库或文件的密码。
}
}
\details{
}
\value{
如果打开数据源成功，返回 \code{\link{Datasource-class}} 对象，否则，返回NULL。
}
\references{
%% ~put references to the literature/web site here ~
}
\author{
%%  ~~who you are~~
}
\note{
打开的数据源需要使用 \code{\link{CloseDatasource}} 进行关闭。
}

%% ~Make other sections like Warning with \section{Warning }{....} ~

\seealso{
\code{\link{CloseDatasource}}
}

\examples{
server <- system.file("/sampledata/ChangChun.udb", package="RSuperMap")
ds <- OpenDatasource(server, alias = "test", engine = "udb")
ds <- CloseDatasource(ds)
}

% Add one or more standard keywords, see file 'KEYWORDS' in the
% R documentation directory.
\keyword{ Datasource }% use one of  RShowDoc("KEYWORDS")
\keyword{ supermap}
